package jerry.net.demo;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;

public class TestURL {
	
	public static void main(String[] args) throws IOException {
//		readGoogleURL();
		writeURLToXMLFile("http://www.google.com/", "E:\\data\\temp.txt");
	}
	
	/**
	 * 获取URL指定的资源。
	 * 
	 * @throws IOException
	 */
	public static void test4() throws IOException {
		URL url = new URL(
				"http://lavasoft.blog.51cto.com/attachment/200811/200811271227767778082.jpg");
		// 获得此 URL 的内容。
		Object obj = url.getContent();
		System.out.println(obj.getClass().getName());
	}

	/**
	 * 获取URL指定的资源
	 * 
	 * @throws IOException
	 */
	public static void getInputStream() throws IOException {
		URL url = new URL("http://www.baidu.com/");
		// 返回一个 URLConnection 对象，它表示到 URL 所引用的远程对象的连接。
		URLConnection uc = url.openConnection();
		// 打开的连接读取的输入流。
		InputStream in = uc.getInputStream();
		int c;
		while ((c = in.read()) != -1)
//			System.out.print(c);
		in.close();
	}

	/**
	 * 读取URL指定的网页内容
	 * 
	 * @throws IOException
	 */
	public static void test2() throws IOException {
		URL url = new URL("http://www.baidu.com/");
		// 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
		Reader reader = new InputStreamReader(new BufferedInputStream(
				url.openStream()));
		int c;
		while ((c = reader.read()) != -1) {
//			System.out.print((char) c);
		}
		reader.close();
	}

	/**
	 * 获取URL的输入流，并输出
	 * 
	 * @throws IOException
	 */
	public static void test() throws IOException {
		URL url = new URL("http://lavasoft.blog.51cto.com/62575/120430");
		// 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
		InputStream in = url.openStream();
		int c;
		while ((c = in.read()) != -1)
//			System.out.println(c);
		in.close();
	}
	
	public static void readBaiduURL() throws IOException {
		URL url = new URL("http://www.baidu.com/");
		URLConnection openConnection = url.openConnection();
		InputStream inputStream = openConnection.getInputStream();
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"gb2312"));
		String line;
		while((line=bufferedReader.readLine()) != null){
			System.out.println(line);
		}
		bufferedReader.close();
	}
	
	public static void readGoogleURL() throws IOException {
		URL url = new URL("http://www.google.com/");
		URLConnection openConnection = url.openConnection();
		InputStream inputStream = openConnection.getInputStream();
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));
		String line;
		while((line=bufferedReader.readLine()) != null){
			System.out.println(line);
		}
		bufferedReader.close();
	}
	
	public static void writeURLToXMLFile(String urlString, String fileName) throws IOException {
		URL url = new URL(urlString);
		URLConnection openConnection = url.openConnection();
		InputStream inputStream = openConnection.getInputStream();
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));
		
		FileWriter fileWriter = new FileWriter(fileName);
		String line;
		while((line=bufferedReader.readLine()) != null){
			fileWriter.write(line);
			fileWriter.write("\n");
		}
		bufferedReader.close();
		fileWriter.close();
	}
}